官方的苦口婆心這次算是見識到了。
設定完了 IAM User、Role、Policy,也大致對 AWS 中的身份驗證
和權限驗證
有了基礎概念。
那麼接下來,如果要在本地端撰寫程式去調用 AWS API,要怎麼做?
如果有過其他公有雲的相關經驗,當遇到需要在雲端以外的環境執行程式測試時,很容易就會想到透過 IAM 建立金鑰,以取得雲端服務的使用授權。
從畫面中間點下 安全憑證
頁籤
按下 建立存取金鑰
然後選擇符合的情境:本機代碼
結果畫面上特地跳出一段提示:
⚠️ 建議的替代方案
使用支援 AWS 工具組並透過 IAM 身分中心啟用身分驗證的整合開發環境(IDE)
試按了每個選項,都會有不同的建議方案。官方只差沒把『不要再用存取金鑰了』直接全螢幕顯示出來。
既然官方都主動建議了,那就跟著文件實作,看看 AWS 在授權上推薦使用什麼方法。
官方文件裡有清楚的導覽,這次的開發使用 python,平時的開發習慣是使用 VS Code,可以從這裡安裝 VS Code 需要的工具組:AWS Toolkit for VS Code Information... 才怪。
這個連結點進去安裝會是 Amazon Q。
對他標題寫 AWS Toolkit for VS Code 但是安裝工具組會請你安裝 Amazon Q
雖然很有趣但不是這次要實作的部分,這篇主軸還是 IAM Identity Center,Amazon Q 有機會再單獨介紹。
Amazon Q
生成式 AI 助手,AWS 自家的「智慧助理」,有些類似 GitHub Copilot ,但更深度整合了 AWS 雲端服務。
其他 EDI Toolkits (Python) 這邊請:AWS Tools and Resources: Python
安裝 Toolkit 很快,點兩下就完成了。
......然後呢?
既然現在是要在本地端授權驗證,去調用 AWS 的服務,下一步當然就是授權囉!
授權?授誰的權?
前兩篇透過建立系統管理員的流程,理解了 AWS 中的「身分驗證」和「權限驗證」,現在當然也一樣。
官方文件需要多點幾層才找得到,這邊直接連結:在 VS Code 使用 AWS Toolkit。
從官方文件中可以知道,AWS Toolkit for VS Code 需要驗證與連線才能正常使用。
官方提供三種方法:
其中,IAM Identity Center
是官方推薦的最佳實踐。
從文件中能得知,IAM Identity Center 是 AWS 中提供SSO驗證(單一登入),用來集中管理登入和權限的服務...... 嗯,沒有動手做果然很難體會。
還是先跟著文件實作看看吧!
登入後,就要開始設定開發時使用的授權機制。
請瞄一眼自己現在所在的 Region
AWS Organizations 一次只能支援一個 AWS 區域的 IAM Identity Center。
換句話說,IAM Identity Center 只能建在其中一個 Region 上。
如果建錯,想重建必須把原先的 IAM Identity Center 刪除
,再到想要的 Region 上重新建立。
雖然建立在哪一個 Region 都不影響驗證授權機制,但是在管理上會 非。常。惱。人。
想想看,AWS Console 新加坡 Region 用得好好的,切到 IAM Identity Center 突然報錯,才想起:
「啊!對啦!」
「當初不小心建錯,按到雪梨去了!」
然後再切 Region 繼續作業。
在 IaC 上就更困擾了。
平常 Region 都習慣寫 ap-southeast-1
很順,唯獨 IAM Identity Center 要提醒自己改成 ap-southeast-2
。
偏偏這種小地方又很容易被忽略...
⚠️ 請千萬要確認好 Region,再建立 IAM Identity Center。
確認好 Region 後
,在畫面右上角點選「啟用」
稍待幾秒,就會進入服務頁面。
至於為什麼會這麼強調 IAM Identity Center 的 Region 限制... 當然是因為:
沒錯我就是官方明明在畫面上提醒了還會建錯 Region 的眼拙人
IAM Identity Center 最大的優點就是安全、集中,還能整合 MFA、多帳號切換,讓 Access Key 可以被好好管理,避免四散在沒人管的地方。與此相對,它的限制也很明顯:只能建在一個 Region,建錯還要整個砍掉重來,比直接建立金鑰的流程複雜,第一次玩一定會覺得麻煩。
不過,用更安全、集中化的方式取代金鑰機制,在系統管理上有其必要。
跟不受控的金鑰比起來,IAM Identity Center 的學習成本其實很划算。
下一篇,就會繼續設定使用者、MFA 驗證,還有授權,努力完成本地開發的環境設置。